package tec;
import java.util.ArrayList;
import java.util.ListIterator;
import java.io.Writer;
import java.io.FileWriter;
import java.io.PrintWriter;



class JournalAutobus extends Autobus
{
	private Writer journal;

	public JournalAutobus(int nbAssis, int nbDebout,Writer j) 
	{
		super(nbAssis,nbDebout);
		journal=j;
	}

	public void changerArret(){
		PrintWriter p = new PrintWriter(journal);
		p.println("change d'arret");
		p.flush();
	}

	public void ajouterUnAssis(){
		PrintWriter p = new PrintWriter(journal);
		p.println("ajoute un assis");
		p.flush();
	}
	public void ajouterUnDebout(){
		PrintWriter p = new PrintWriter(journal);
		p.println("ajoute un debout");
		p.flush();
	}
	public void enleverUnAssis(){	
		PrintWriter p = new PrintWriter(journal);
		p.println("enleve un assis");
		p.flush();
	}
	public void enleverUnDebout(){
		PrintWriter p = new PrintWriter(journal);
		p.println("enleve un debout");
		p.flush();
	}
	public void enleverUnPassager(){
		PrintWriter p = new PrintWriter(journal);
		p.println("enleve un passager");
		p.flush();
	}  


	public void allerArretSuivant() throws TecInvalidException 
	{
		super.allerArretSuivant();
		changerArret();
	}

	public void demanderChangerEnAssis(Passager p) 
	{
		super.demanderChangerEnAssis(p);	
		enleverUnDebout();	 
		ajouterUnAssis();
	}

	public void demanderChangerEnDebout(Passager p)
	{
		super.demanderChangerEnDebout(p);
		enleverUnAssis();	    
		ajouterUnDebout();
	}

	public void demanderPlaceAssise(Passager p) 
	{
		super.demanderPlaceAssise(p);
		ajouterUnAssis();
	}

	public void demanderPlaceDebout(Passager p) 
	{
		super.demanderPlaceDebout(p);
		ajouterUnDebout();
	}

	public void demanderSortie(Passager p) 
	{
		super.demanderSortie(p);
		enleverUnPassager();
	}
	/*
		 @Override
		 public String toString(){
		 return "[arret:" + arretActuel + ", assis:" 
		 + jaugeAssis.toString() + ", debout:" 
		 + jaugeDebout.toString() + "]"; 
		 }*/
}
